home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / MATHS / RLAB / RLAB125.ZIP / !RLaB / toolbox / window < prev   
Text File  |  1994-09-23  |  1KB  |  46 lines

  1. //---------------------------------------------------------------------------
  2. //  window.r
  3.  
  4. //  Syntax:    window ( N , wt )
  5.  
  6. //  Description:
  7.  
  8. //  Window generates a window function.
  9. //
  10. //  N = length of desired window
  11. //  wt = window type desired
  12. //       "rect" = rectangular      "tria" = triangular (Bartlett)
  13. //       "hann" = Hanning          "hamm"  = Hamming
  14. //       "blac" = Blackman
  15.  
  16. //  Window returns a row vector containing samples of the desired
  17. //  window.
  18. //---------------------------------------------------------------------------
  19.  
  20. window = function ( N, wt )
  21. {
  22.   local (m, nn, pn, w)
  23.   global (pi)
  24.  
  25.   nn = N-1;
  26.   pn = 2*pi*(0:nn)/nn;
  27.   if (wt == "rect")
  28.   {
  29.     w = ones (1, N);
  30.   else if (wt == "tria") {
  31.     m = nn/2;
  32.     w = (0:m)/m;
  33.     w = [w, w[ceil(m):1:-1]];
  34.   else if (wt == "hann") {
  35.     w = 0.5*(1 - cos (pn));
  36.   else if (wt == "hamm") {
  37.     w = .54 - .46*cos (pn);
  38.   else if (wt == "blac") {
  39.     w = .42 -.5*cos (pn) + .08*cos (2*pn);
  40.   else
  41.     disp("Incorrect Window type requested");
  42.   }}}}}
  43.  
  44.   return w';
  45. };
  46.